#!/usr/bin/env bash
#--------HEADER---------------------------------------------------------------|
# Be someone with a greater power you already have!
#AUTOR
# Jefferson Rocha <lrcjefferson@gmail.com>
#
#HOMEPAGE do AUTOR
# http://www.slackjeff.com.br
#
#NOME
# Qualdistro?
#
#LICENÇA
# MIT
#
#DESCRIÇÃO: Programa para verificar qual a distribuição
# que mais se encaixa para o usuário!
# São feitas algumas perguntas e no final se o número for,
# menor que X ele fica com um determinado grupo.
# Se for maior que Y ele fica com outro grupo.
# Programa é dividido em dois grupos inicialmente.
#
#CHANGELOG
#   Versão 1.0 - 11/03/2018 - Jefferson Rocha
#   - Programa Reescrito totalmente do Zero
#----------------------FIM-DO-CABEÇALHO-----------------------------------|





#-----------VÁRIAVEIS--------->
nome_versao="Qual Distro versão 1.0"
#cores
fecha="\033[m"
vermelho="\033[31;1m"
azul="\033[34;1m"
#------------------------------>




#-----FUNÇÕES------------------>

# Usuários que se enquadram na filosifia Kiss, cai aqui.
grupo1(){
cat << EOF

$nome, Que ótimo, você é um adorador da filosofia kiss e um verdadeiro
Guerreiro da raça!
É dê grande honra encontrar poucas pessoas como você que chegam neste nivel!
Perceba que para entrar neste modo você precisa atingir um ponto mais alto de todos,
ou seja, você sem dúvida faz parte da fámilia pura UNIX-LIKE.
Vou te apresentar alguns sistemas que vão te servir muito bem.

--------------------
Slackware
--------------------
CRUX
--------------------
FreeBSD (Nada melhor que o verdadeiro)
--------------------

EOF
}


# Usuários que gosta de pacotes mais Recentes
# Cai nesta função.
grupo2(){
cat << EOF
$nome, Você curte coisas mais recente não é? legal... bom vou te apresentar algumas
distribuições que se enquadram a você, pelo seu perfil... Seja bem vindo ao Rolling-Release!

--------------------
Arch Linux
--------------------
Fedora
--------------------
Gentoo
--------------------

EOF
}


# Fácil
grupo3(){
cat << EOF
$nome, Definimos que você se encaixa em uma distribuição mais leiga!
É legal, porém não fique nestas distribuições por muito tempo, expanda sua mente e conheça novas distribuições!

--------------------
Ubuntu
--------------------
Linux Mint
--------------------
Elementary
--------------------
Fedora
--------------------
Manjaro
--------------------
OpenSUSE
--------------------
Deepin
--------------------
Emmi Linux
--------------------

EOF

}

#------------------------------>


# INICIO

# Vamos fazer algumas perguntas para o usuário antes
# de começar a fazer as verdadeiras perguntas.
echo "=== $nome_versao ==="
read -p $'\033[31;1mOlá! seja muito bem vindo\033[m, Qual o Seu nome?\n' nome
[[ -z "$nome" ]] && echo "Você Não tem um nome? haha ok." && sleep 2s && nome="Slackjeff é o melhor"


echo -e "\n${azul}$nome, há quanto tempo você utiliza GNU/Linux?${fecha}"
PS3="Selecione uma opção: "
select tempo in "1 Ano" "2 Anos" "3 Anos" "4 Anos" "5 Anos" "10 Anos +" ; do
  tempo=$(echo $tempo | cut -d " " -f 1) # Pegando Somente o número
  break
done

# Tornando o programa mais interativo
# De acordo com o que o usuário responder no menu select
# a resposta é firmada aqui.
# Nada de mais, só por uma interação a mais.
case $tempo in
    1|2|3) 
        echo -e "Bom, você é novato, terá que treinar muito...\nMas não se preocupe, tudo foi feito para aprender. [ENTER] para prosseguir"
        read
        ;;
    4|5) 
        echo -e "Bom, vocẽ não é mais nenhum novato, espero que você pegue o Slackware :D\n[ENTER] para prosseguir"
        read
        ;;
    10) 
        echo -e "Opaa! temos um Dino do GNU/Linux aqui, seja muito bem vindo ao programa do Slackjeff, SIR.\n  [ENTER] para prosseguir"
        read
        ;;
esac


# Questionarios começam aqui.


# Inicializando e zerando váriaveis totais
# Não edite se não o pau pega para seu lado!
total_kiss="0" 
total_recente="0"
total_facil="0"

# Primeira Pergunta
clear
echo -e "\n${vermelho}Você prefere Pacotes Antigos porém estável, Pacotes mais recentes ou um Intermediário dos dois?${fecha}"
select pergunta1 in "Pacotes antigos" "Pacotes Recentes" "Intermediario" ; do
    if [[ "$pergunta1" = "Pacotes antigos" ]]; then
        let total_kiss++  
        break
    elif [[ "$pergunta1" = "Pacotes Recentes" ]]; then
        let total_recente++
        break
    elif [[ "$pergunta1" = "Intermediario" ]]; then      
        let total_facil++
        break
    fi    
done

# Segunda Pergunta
clear
echo -e "\n${vermelho}Você gosta da Filosia Kiss (Keep it simple, Stupid)?${fecha} "
select pergunta2 in "Sim" "Nao" "Nunca ouvi falar"; do
    if [[ "$pergunta2" = "Sim" ]]; then
        let total_kiss++
        break
    else   
        let total_recente++
        let total_facil++
        break
    fi    
done

# Terceira Pergunta
clear
echo -e "\n${vermelho}Você é um Usuário Fuçador? ou apenas gosta de usar o Sistema de um modo normal?${fecha} "
select pergunta3 in "Sou Fuçador" "Sou normal"; do
    if [[ "$pergunta3" = "Sou Fuçador" ]]; then
        let total_kiss++
        break
    else   
        let total_recente++
        let total_facil++
        break
    fi    
done

# Quarta Pergunta
clear
echo -e "\n${vermelho}Se o seu sistema quebrasse de vez, o que você faria?${fecha} "
select pergunta4 in "Consertaria" "Mudaria de Distribuição" "Normal, pacotes novos fazem isto"; do
    if [[ "$pergunta4" = "Consertaria" ]]; then
        let total_kiss++
        break
    elif [[ "$pergunta4" = "Mudaria de Distribuição" ]]; then   
        let total_facil++
        break
    elif [[ "$pergunta4" = "Normal, pacotes novos fazem isto" ]]; then  
        let total_recente++  
        break
    fi    
done

# Quinta Pergunta
clear
echo -e "\n${vermelho}Você encontra sempre um jeito de se aprimorar suas técnicas e habilidades no mundo GNU/Linux? ou seja você é o verdadeiro, ROOTayajin?${fecha} "
select pergunta5 in "Quero ser o melhor" "Eu apenas gosto de usar" "Sou um Preguiçoso"; do
    if [[ "$pergunta5" = "Quero ser o melhor" ]]; then
        let total_kiss++
        break
    elif [[ "$pergunta5" = "Eu apenas gosto de usar" ]]; then   
        let total_facil++
        break
    elif [[ "$pergunta5" = "Sou um Preguiçoso" ]]; then  
        echo -e "${azul}Volta para o Windows, Seu nutellão!${fecha}"
        sleep 2s
        let total_facil++
        break
    fi    
done


# Sexta Pergunta
clear
echo -e "\n${vermelho}Escolha uma destas distribuições, que mais se "Encaixa" com você${fecha} "
select pergunta6 in "Slackware" "Debian" "Arch" "Ubuntu" "Linux Mint" "Deepin" "Elementary" "Gentoo"; do
    case "$pergunta6" in
        Slackware|Gentoo)
              let total_kiss++
              break
              ;;
        Debian)
              let total_facil++
              break
              ;;
        Arch)   
              let total_recente++
              break
              ;;
        Ubuntu|"Linux Mint"|Deepin|Elementary)
              let total_facil++
              break
              ;;
    esac
done    

# Sétima Pergunta


# Vamos agora ver qual melhor distribuição para o usuario,
# de acordo com a pontuação.
if [[ "$total_kiss" -eq "6" ]]; then
    grupo1 # Chamada Função
elif [[ "$total_recente" -gt "4" ]] || [[ "$total_recente" -lt "5" ]]; then
    grupo2 # Chamada Função
elif [[ "$total_facil" -lt "3" ]]; then
    grupo3 # Chamada Função    
fi    
